// import com.alibaba.druid.sql.ast.SQLExpr_ptr;
// import com.alibaba.druid.sql.ast.SQLName_ptr;
// import com.alibaba.druid.sql.ast.SQLStatementImpl;
// import com.alibaba.druid.sql.ast.statement.SQLCreateStatement;
// import com.alibaba.druid.sql.visitor.SQLASTVisitor;

// import java.util.HashMap;
// import java.util.Map;
#pragma once
#include "../../../../ast/SQLStatementImpl.h"
#include "../../../../ast/statement/SQLCreateStatement.h"

class SQLAlterResourceGroupStatement
    : virtual public SQLStatementImpl,
      virtual public SQLCreateStatement
{
public:
  SQLName_ptr name;
  std::shared_ptr<std::map<string_ptr, SQLExpr_ptr>> properties;
  BOOL_ptr enable;
  SQLAlterResourceGroupStatement();
  SHAREDOBJECT(SQLAlterResourceGroupStatement);
  SQLName_ptr getName();

  void setName(SQLName_ptr x);

  void addProperty(string_ptr name, SQLExpr_ptr value);

  BOOL_ptr getEnable();

  void setEnable(BOOL_ptr enable);

  std::shared_ptr<std::map<string_ptr, SQLExpr_ptr>> getProperties();

  void accept0(SQLASTVisitor_ptr v);
};
